﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
///////////
////////// Toàn bộ enum tổng quát của chương trình
////////// nên khai báo ở đây
//////////////////////////////////////////////
namespace Lapas.Common
{
    public enum DebitLimitValueType
    {
        /// <summary>
        /// TÀI SẢN RÒNG
        /// </summary>
        TSR = 0,
        /// <summary>
        /// HẠN MỨC ỨNG TRƯỚC
        /// </summary>
        HMUT,
        /// <summary>
        /// HẠN MỨC TRÊN TÀI SẢN RÒNG
        /// </summary>
        HMTTSR
    }
    public enum ModuleCode
    {
        /// <summary>
        /// Mortage Contract
        /// </summary>
        MORTA,
        /// <summary>
        /// Margin Contract
        /// </summary>
        MARGI,
        /// <summary>
        /// Saving Money
        /// </summary>
        SAVING,
        /// <summary>
        /// Depository Fee
        /// </summary>
        DEPFEE
    }
    // Phai trung voi error message trong SP: Login o database
    public enum AccountLogStatus
    {
        INVALID_USER,
        INVALID_PASSWORD,
        CLOSED_ACCOUNT,
        LOGGING_ACCOUNT
    }
    // Trang thai account: Open, Log, Close tuong ung O L P trong database
    public enum AccountStatus
    {
        O,
        L,
        C,
        N,
        S
    }
    // Dung cho Form quan ly khach hang
    public enum CustomerFormType
    {
        New, // Nhap moi
        SpecialNew, // Nhap moi so dep
        Edit, // Sua
        SpecialEdit // Sua so dep
    }

    // Dung cho CustomerPoint
    public enum CustomerPointType
    {
        Attitude,// Điểm thái độ
        Action, // Điểm giao dịch
        Deposit // Điểm tiềm năng
    }

    // Dung cho UnitType
    public enum TradeUnitType
    {
        HO, //Hoi so chinh
        Branch, //Chi nhanh
        TradeRoom, // Phong giao dich
        Agent // Dai ly
    }

    // Dung cho loai tai khoan
    public enum AccountType
    {
        Balance,//Noi bang
        Contigen,//Ngoai bang
        Security,//Chung khoan
    }

    /// <summary>
    /// Dung de cho xuat du lieu cho VSD
    /// </summary>
    public enum VSDXlsReport
    {
        CamCoChungKhoan,
        CamCoCKNhieuCK,
        GiaiToaCKVeBenCamCo,
        GiaiToaCKVeBenCCNCK,
        LuuKyChungKhoan,
        ChuyenKhoanCKLoLe,
        ChuyenKhoanDeTatToan,
        ChuyenKhoanDeTTNCK,
        ChuyenQuyenDoTatToan,
        DeNghiThanhLy,
        PhuLucDauTuCK, 
        BillSheet
    }


    /// <summary>
    /// Ma nghiep vu
    /// </summary>
    public enum TaskCode
    {
        NONE,//Khong xac dinh
        TBUYVALUE,//MUA NGAY T
        TBUYFEE, //PHI MUA NGAY T
        T1SELVALUE, //BAN NGAY T-1
        T1SELFEE,//PHI BAN NGAY T-1
        T3SELVALUE,//BAN NGAY T-3
        T3SELLFEE,//PHI BAN NGAY T-3
        SELLTAX,//Thue thu nhap ca nhan
        HOLD, //PHONG TOA TIEN TAI NGAN HANG TU DONG
        UNHOLD, //GIAI TOA TIEN TAI NGAN HANG TU DONG
        HANDHOLD,//PHONG TOA THU CONG
        HANDUNHOLD,//GIAI TOA THU CONG
        REXCREDIT, //GHI TANG TIEN DO PHAN BO CO TUC
        REXCREDITTAX, //THU THUE TU PHAN BO CO TUC
        STOCKFEE, //TINH PHI LUU KY
        ADVANCETRANSFER, //Phat vay mua tien ban 
        ADVANCECOLLECTDEBT, // ----- thu no ung truoc --- 
        BUYCASHTRANFER,// PHAT VAY MUA TIEN BAN
        BUYCASTCOLLECTDEBT, // THU NO MUA TIEN BAN
        MORTAGETRANSFER, //CAM CO
        MORTAGECOLLECTDEBT,
        MORTAGEINTEREST, // Thu Lai
        MANAGEFEE, // Phi quan ly
        BIMP, //Import so du  ngan hang
        MONEY,
        ORDER,
        REGISTER,
        ODDSTOCK,//Nhan tien lo le
        ODDTAX,//Thue TNCN Lo le
        DEFER,//Thanh toan cha.m tie`n nga`y T
        AMORTIZATION, // Giam tru phi khuyen mai
        //ADVANCEDEPT,//THU PHI UNG TRUOC
        CASHTRANSFER,//Chuyen khoan ngan hang
        INNERTRANSFER, //Chuyen khoan noi bo
        RIGHTEXEC,
        SAVINGHOLD, //PHONG TOA TIEN GUI
        SAVINGUNHOLD, //GIAI TOA TIEN GUI
        SAVINGPAYINTEREST //TRA LAI 
       
    }

    public enum BankConnectingType
    {  // BankConnection tối đa 10 kí tự
        NONE, //Lam noi bo
        ACB,
        AGRIBANK,
        BIDV,
        SHB,
        VCB

    }
    //public enum AppSettingName
    //{

    //    AutoPrintEntry,
    //    CashBankGL,
    //    CompanyCode,
    //    CompanyName,
    //    CompanyPrefixC,
    //    CompanyPrefixF,
    //    CompanyPrefixP,
    //    CompanyPrivateAccount,
    //    DayReportType,
    //    DisableF5,
    //    HeadOfficeTradeCode,
    //    Logo,
    //    NotApprovingCustomerTrans,
    //    OrderServiceCodeInfor,
    //    ReportCompanyAddressen,
    //    ReportCompanyAddressvi,
    //    ReportCompanyNameen,
    //    ReportCompanyNamevi,
    //    ReportCompanyTel,
    //    ReportLocation,
    //    Version,
    //    //delete below row
    //    //WithoutApprovingEntry,
    //    WithoutApprovingBalanceEntry,
    //    WithoutApprovingContigenEntry,
    //    AllowDeleteEntry,
    //    WithoutApprovingOrder,
    //    CompanyPrivateAccountSectionGL,
    //    CompanyPrivateAccountBankGL,
    //    AutoCreateBalanceAccount,
    //    AutoCreateContigenAccount,
    //    CompanyCIF,
    //    CompanyFeeCIF,
    //    BankConnection,
    //    AvailAgreementDealHASE,
    //    AgreementDealHASE,
    //    AgreementDealHOSE,
    //    IncomeTax,
    //    LotHOSE,
    //    LotHASE

    //}

    public enum RightExecType
    {
        //Su dung cho RightExec, RightExecList, RightExecTransfer
        N,//chua duyet
        A,//Duyet xong
        T,//Da hach toan
        X,//Xoa
        /// <summary>
        /// Đã hạch toán chuyển GD
        /// </summary>
        M
    }

    public enum RightExecRegisterType
    {
        //Su dung cho RightExecRegister
        N,//Chưa đăng ký
        R,//Đã đăng ký - chưa duyệt
        A,//Đã duyệt
        T,//Đã hạch toán
        /// <summary>
        /// Đã hạch toán chuyển GD
        /// </summary>
        M
    }

    public enum RightExecRegisterDetailType
    {
        N, //Chưa nộp tiền
        Y, //Đã nộp tiền
        X, //Đã hủy đăng ký
        B, //Đã phong tỏa
    }

    public enum TransferType
    {
        O,//Chuyen di
        I,//Chuyen den
        C,//Cung cong ty
    }

    public enum OddStockStatus
    {
        N,//Da tao ho so
        A,//Da xac nhan
        //C,//hoi so da xac nhan
        E,//Export: Da hach toan xuat CK lo le        
        T,//Hach toan bao no
        F,//Finish: da nhap ck tu doanh
        X,//Xoa
    }

    public enum DepositoryWithDrawStatus
    {
        /// <summary>
        /// Đã tạo hồ sơ
        /// </summary>
        N = 0,//Da tao ho so
        /// <summary>
        /// ĐÃ hạch toán chờ xuất
        /// </summary>
        A,//Da hach toan cho xuat
        /// <summary>
        /// Đã hạch toán báo có
        /// </summary>
        T,//Da hach toan bao co
        /// <summary>
        /// Đã yêu cầu hủy
        /// </summary>
        C,//Da yeu cau huy
        /// <summary>
        /// Đã xác nhận hủy
        /// </summary>
        D,//Da xac nhan huy
        /// <summary>
        /// Đã xóa
        /// </summary>
        X,//Da xoa
    }

    /// <summary>
    /// Loai giao dich hach toan
    /// </summary>
    public enum BankTransactionPaymentEnum
    {
        BUYVALUE,//Thanh toan tien mua
        BUYFEE,
        SELLTAX,
        SELLVALUE,
        SELLFEE,
        OTHER,//Giao dich khac
        REPAIR, //Giao dich sua loi
        BATCHHOLD,
        BATCHUNHOLD,
        DEFER
    }
    /// <summary>
    /// Loai tai khoan cong ty tai ngan hang
    /// </summary>
    public enum CompanyBankAccountEnum
    {
        /// <summary>
        /// Tiền mua bán KH TN
        /// </summary>
        V, //Tien
        /// <summary>
        /// Tiền mua bán KH NN
        /// </summary>
        X, //Tien
        /// <summary>
        /// Phí mua bán
        /// </summary>
        F, //Phi
        /// <summary>
        /// Thuế thu nhập cá nhân
        /// </summary>
        T, //Thue thu nhap
        /// <summary>
        /// Tài khoản ứng trước
        /// </summary>
        A,// Tai khoan ung truoc 
        /// <summary>
        /// Tài khoản mua tiền bán
        /// </summary>
        B,// Tai khoan mua queyn ban
        /// <summary>
        /// Tài khoản cầm cố
        /// </summary>
        M,// Tai khoan Cam co 
        /// <summary>
        /// Tài khoản phân bổ cổ tức
        /// </summary>
        P, // phan bo co tuc
        /// <summary>
        /// Tài khoản đăng ký phát hành thêm
        /// </summary>
        R,// Đăng ký phát hành thêm
        /// <summary>
        /// Tài khoản thực hiện lô lẻ
        /// </summary>
        O,// 
        /// <summary>
        /// Tài khoản phí lưu ký
        /// </summary>
        S,// Phí lưu ký
        /// <summary>
        /// TK thanh toán chậm tiền ngày T
        /// </summary>
        D,

    }

    #region Customer enum
    public enum DomesticForeign
    {

        /// <summary>
        /// D = Domestic: khach hang trong nuoc
        /// </summary>
        D = 0,
        /// <summary>
        /// F = Foreign: khach hang nuoc ngoai
        /// </summary>
        F,
        /// <summary>
        /// A = All: khach hang trong nuoc va nuoc ngoai
        /// </summary>
        A
    }
    /// <summary>
    /// Loại tài khoản giao dịch
    /// 20071020 TriDM
    /// </summary>
    public enum CustomerAccountType
    {
        /// <summary>
        /// A = TK giao dịch CK niêm yết
        /// </summary>
        A = 0,
        /// <summary>
        /// B = TK giao dịch CK OTC
        /// </summary>
        B
    }
    /// <summary>
    /// Phương thức đặt lệnh
    /// 20071020 TriDM
    /// </summary>
    public enum CustomerOrderType
    {
        /// <summary>
        /// A = Tại sàn
        /// </summary>
        A = 0,
        /// <summary>
        /// B = Internet
        /// </summary>
        B,
        /// <summary>
        /// C = Điện thoại
        /// </summary>
        C
    }
    /// <summary>
    /// Chu kỳ nhận sao kê
    /// </summary>
    public enum CustomerReceiveReport
    {
        /// <summary>
        /// A = Hàng tháng
        /// </summary>
        A = 0,
        /// <summary>
        /// B = Khi có yêu cầu
        /// </summary>
        B
    }
    /// <summary>
    /// Phương thức nhận sao kê
    /// </summary>
    public enum CustomerReceiveReportBy
    {
        /// <summary>
        /// A = Tại công ty chứng khoán
        /// </summary>
        A = 0,
        /// <summary>
        /// B = Email
        /// </summary>
        B
    }
    /// <summary>
    /// Phương thức xác nhận giao dịch
    /// </summary>
    public enum CustomerConfirmTransactionBy
    {
        /// <summary>
        /// A = Qua SMS
        /// </summary>
        A = 0,
        /// <summary>
        /// B = Theo yêu cầu
        /// </summary>
        B
    }
    /// <summary>
    /// Tình trạng hôn nhân
    /// </summary>
    public enum CustomerMarriageStatus
    {
        /// <summary>
        /// A = Độc thân
        /// </summary>
        A = 0,
        /// <summary>
        /// B = Có gia đình
        /// </summary>
        B
    }
    /// <summary>
    /// Trình độ học vấn
    /// </summary>
    public enum CustomerKnowledgeLevel
    {
        /// <summary>
        /// A = Đại học
        /// </summary>
        A = 0,
        /// <summary>
        /// B = Trên đại học
        /// </summary>
        B,
        /// <summary>
        /// C = Sau đại học
        /// </summary>
        C
    }
    /// <summary>
    /// Nghề nghiệp
    /// </summary>
    public enum CustomerJob
    {
        /// <summary>
        /// A = Sinh viên
        /// </summary>
        A = 0,
        /// <summary>
        /// B = Đang đi làm
        /// </summary>
        B,
        /// <summary>
        /// C = Về hưu
        /// </summary>
        C,
        /// <summary>
        /// D = Khác
        /// </summary>
        D
    }
    /// <summary>
    /// Hiểu biết đầu tư
    /// </summary>
    public enum CustomerInvestKnowledge
    {
        /// <summary>
        /// A = Chưa có kinh nghiệm
        /// </summary>
        A = 0,
        /// <summary>
        /// B = Ít kinh nghiệm
        /// </summary>
        B,
        /// <summary>
        /// C = Đã có kinh nghiệm
        /// </summary>
        C,
        /// <summary>
        /// D = Rất có kinh nghiệm
        /// </summary>
        D
    }
    /// <summary>
    /// Đã đầu tư vào
    /// </summary>
    public enum CustomerInvestedIn
    {
        /// <summary>
        /// A = Cổ phiếu
        /// </summary>
        A = 0,
        /// <summary>
        /// B = Trái phiếu
        /// </summary>
        B,
        /// <summary>
        /// C = Ngoại tệ
        /// </summary>
        C,
        /// <summary>
        /// D = Bất động sản
        /// </summary>
        D,
        /// <summary>
        /// E = Khác
        /// </summary>
        E
    }
    /// <summary>
    /// Mục tiêu đầu tư
    /// </summary>
    public enum CustomerInvestTarget
    {
        /// <summary>
        /// A = CP Giá trị
        /// </summary>
        A = 0,
        /// <summary>
        /// B = CP Tăng trưởng
        /// </summary>
        B,
        /// <summary>
        /// C = CP ngắn hạn
        /// </summary>
        C,
        /// <summary>
        /// D = Có thu nhập ổn định
        /// </summary>
        D
    }
    /// <summary>
    /// Mức độ chấp nhận rủi ro
    /// </summary>
    public enum CustomerRiskAccepted
    {
        /// <summary>
        /// A = Thấp
        /// </summary>
        A = 0,
        /// <summary>
        /// B = Trung bình
        /// </summary>
        B,
        /// <summary>
        /// C = Cao
        /// </summary>
        C
    }
    /// <summary>
    /// Vốn sẵn sàng đầu tư
    /// </summary>
    public enum CustomerInvestFund
    {
        /// <summary>
        /// A = Dưới 100 triệu
        /// </summary>
        A = 0,
        /// <summary>
        /// B = 100-500 triệu
        /// </summary>
        B,
        /// <summary>
        /// C = 500 triệu - 1 tỉ
        /// </summary>
        C,
        /// <summary>
        /// D = 1-3 tỉ
        /// </summary>
        D,
        /// <summary>
        /// E = Trên 3 tỉ
        /// </summary>
        E
    }
    #endregion

    #region Entry Enum
    public enum DebitOrCredit
    {
        /// <summary>
        /// D = Debit : Ve No / Xuat CK
        /// </summary>
        D = 0,
        /// <summary>
        /// C = Credit : Ve Co / Nhap CK
        /// </summary>
        C
    }
    public enum ApproveStatus
    {
        /// <summary>
        /// All = Tất cả (20080107 TriDM)
        /// </summary>
        ALL = 0,
        /// <summary>
        /// Y = Yes: da duyet
        /// </summary>
        Y,
        /// <summary>
        /// N = No: chua duyet
        /// </summary>
        N,
        /// <summary>
        /// X = Xóa
        /// </summary>
        X

    }
    #endregion

    #region Mortage log enum
    /// <summary>
    /// Cac hành động tác động lên hợp dồng cầm cố
    /// </summary>
    public enum MortageLogType
    {
        /// <summary>
        /// X = Xuat chung khoan cam co
        /// </summary>
        X = 0,
        /// <summary>
        /// T = Phat vay
        /// </summary>
        T,
        /// <summary>
        /// C = Collect Debt : thu no
        /// </summary>
        C,
        /// <summary>
        /// F = Fee: thu phi quan ly
        /// </summary>
        F,
        /// <summary>
        /// I = Interest: thu lãi
        /// </summary>
        I,
        /// <summary>
        /// E = End: Giải tỏa kết thúc hợp đồng
        /// </summary>
        E,
        /// <summary>
        /// G = Giai toa CK
        /// </summary>
        G,
        /// <summary>
        /// B = Bo sung thay the
        /// </summary>
        B,
        /// <summary>
        /// S = Giải tỏa để bán
        /// </summary>
        S,

        /// <summary>
        /// Thu lãi định kỳ (Plan)
        /// </summary>
        P,
       
        ///// <summary>
        ///// Thu lãi tự động (Auto)
        ///// </summary>
        //A,
        /// <summary>
        /// Thu lãi thủ công (Manual)
        /// </summary>
        M
       
    }
    public enum MortageLogStatus
    {
        O, D, I, DI
    }
    public enum DepoFeeLogType
    { 
        /// <summary>
        /// Thu phí toàn bộ
        /// </summary>
        C,
        /// <summary>
        /// Tận thu phí còn nợ
        /// </summary>
        D,
        /// <summary>
        /// Xóa
        /// </summary>
        X
    }
    /// <summary>
    /// Thao tac voi so tien CashDebit trong mortage Contract
    /// </summary>
    public enum MortageContractCashDebitAction
    {
        /// <summary>
        /// A = Add: cong don tien
        /// </summary>
        A = 0,
        /// <summary>
        /// S = Subtract: tru tien
        /// </summary>
        S
    }
    #endregion

    #region Buy Cast contract
    /// <summary>
    /// Các hình thức phát vay của hợp đồng mua tiền bán chứng khoán
    /// </summary>
    public enum BuyCastContractTransferType
    {
        /// <summary>
        /// B = Bank : chuyển tiền về tài khoản của khách hàng tại ngân hàng
        /// </summary>
        B = 0,
        /// <summary>
        /// C = Company: chuyển tiền về tài khoản của khách hàng tại công ty chứng khoán
        /// </summary>
        C
    }
    #endregion

    #region Advance log enum
    /// <summary>
    /// Cac hành động tác động lên hợp dồng ứng trước và mua tiền bán chứng khoán
    /// </summary>
    public enum AdvanceLogType
    {
        /// <summary>
        /// A = Approved: duyệt hợp đồng
        /// </summary>
        A = 0,
        /// <summary>
        /// T = Phat vay
        /// </summary>
        T,
        /// <summary>
        /// E = End: Thu nợ kết thúc hợp đồng
        /// </summary>
        E,
        /// <summary>
        /// X = Xóa
        /// </summary>
        X
    }
    #endregion

    #region Advance contract type
    public enum AdvanceContractType
    {
        /// <summary>
        /// B: BuyCastContract Hợp đồng mua tiền bán chứng khoán
        /// </summary>
        B = 0,
        /// <summary>
        /// A: AdvanceContract Hợp đồng ứng trước
        /// </summary>
        A
    }
    #endregion

    #region EnumAdvanceActionType
    public enum EnumAdvanceActionType
    {
        /// <summary>
        /// Action for Advance
        /// </summary>
        Advance = 1,
        /// <summary>
        /// Action for BuytCash
        /// </summary>
        BuyCash
    }
    #endregion

    #region EnumAdvanceTransType

    public enum EnumAdvanceTransType
    {
        CustomerToCompany = 0,
        CompanyToCustomer,
        BloclMoney

    }

    #endregion

    #region AdvanceBalanceType
    /// <summary>
    /// loại tài khoản để thanh toán
    /// </summary>
    public enum EnumAdvanceBalanceType
    {
        /// <summary>
        /// tài khoản thanh toán vói ngân hàng
        /// </summary>
        Bank = 1,
        /// <summary>
        /// Tài khoản thanh toán với đại lý
        /// </summary>
        Agency,
        /// <summary>
        /// Tài khoản thanh toán với khách hàng
        /// </summary>
        Customer,

        /// <summary>
        /// Tài khoản thanh toán với ngân hàng phát vay
        /// </summary>
        BankCredit,
        /// <summary>
        /// Tài khoản thanh toán với ngân hàng có khách hàng vay
        /// </summary>
        BankDeposit,
        /// <summary>
        /// Tài khoản thanh toán ứng trước tại ngân hàng 
        /// </summary>
        BankPaymentCredit,
        /// <summary>
        /// Tài khoản thanh toán ứng trước tại ngân hàng khách hàng vay
        /// </summary>
        BankPaymentDebit,

    }
    #endregion

    #region AdvanceDoAction
    public enum EnumAdvanceDoAction
    {
        Loan = 1,
        ColloectionDebts
    }
    #endregion

    #region Loại thu nợ ứng trước
    public enum EnumAdvanceCollectDebtType
    {
        /// <summary>
        /// Thu nợ điều chỉnh
        /// </summary>
        CollectionBefocePaymentDate,
        /// <summary>
        /// Thu nợ bình thường ( từng hợp đồng hoặc hàng loạt)
        /// </summary>
        CollectDebt
    }
    #endregion

    #region AdvancePartnerType
    /// <summary>
    /// Dịnh nghĩa kiểu partner danh cho tỷ lệ ăn chia
    /// </summary>
    public enum PartnerTypeEnum
    {
        /// <summary>
        /// Partner là ngân hàng
        /// </summary>
        B,
        /// <summary>
        /// Partner là TradeCode
        /// </summary>
        T,
        /// <summary>
        /// Parter là Thuế giá trị gia tăng
        /// </summary>
        V
    }
    #endregion

    //#region DeferredRegister 
    //public enum DeferredStatus
    //{
    //    /// <summary>
    //    /// A = Actived
    //    /// </summary>
    //    A=0,
    //    /// <summary>
    //    /// x = Xoa
    //    /// </summary>
    //    D
    //}
    //#endregion DeferredRegister

    #region StockType enum
    public enum StockType
    {

        /// <summary>
        /// Cổ phiếu
        /// </summary>
        S = 0,
        /// <summary>
        /// Chứng chỉ quỹ
        /// </summary>
        U,
        /// <summary>
        /// Trái phiếu
        /// </summary>
        D,
        ///<sumary>
        ///Tất cả các loại
        ///</sumary>
        A

    }
    #endregion

    #region BoardType enum
    /// <summary>
    /// Sàn giao dịch
    /// </summary>
    public enum BoardType
    {

        /// <summary>
        /// M: Sàn HCM
        /// </summary>
        M = 0,
        /// <summary>
        /// S: Sàn Hà Nội
        /// </summary>
        S,
        /// <summary>
        /// O: Sàn OTC đã niêm yết
        /// </summary>
        O,
        /// <summary>
        /// 20080728 Haids:
        /// U: Sàn CK chưa niêm yết
        /// </summary>
        U,
        /// <summary>
        /// 20090917 tuanha:
        /// A: Tất cả các sàn
        /// </summary>
        A
    }
    #endregion

    #region Balance Object enum
    /// <summary>
    /// Trạng thái của tài khoản trong bảng Balance
    /// </summary>
    public enum BalanceObjectStatus
    {
        /// <summary>
        /// A = All
        /// </summary>
        A = 0,
        /// <summary>
        /// O = Open
        /// </summary>
        O,
        /// <summary>
        /// C = Close
        /// </summary>
        C,
        /// <summary>
        /// S = Suppend: Tạm ngưng hoạt động
        /// </summary>
        S
    }
    /// <summary>
    /// Loại tài khoản: Nội bảng nội bộ hay Nội bảng khách hàng
    /// </summary>
    public enum BalanceObjectAccountType
    {
        /// <summary>
        /// I: Tài khoản nội bộ
        /// </summary>
        I = 0,
        /// <summary>
        /// C: Tài khoản khách hàng
        /// </summary>
        C
    }
    public enum BalanceObjectCurrency
    {
        VND = 0
    }
    /// <summary>
    /// Tính chất của tài khoản: D: nợ, C: có, L: lưỡng tính
    /// </summary>
    public enum BalanceObjectDebitOrCreditOrL
    {
        D = 0,
        C,
        L
    }
    #endregion

    #region GLChartAccount enum
    public enum GLChartAccountType
    {
        /// <summary>
        /// O = Ngoai bang
        /// </summary>
        O = 0,
        /// <summary>
        /// I= Noi bang
        /// </summary>
        I
    }
    public enum GLChartAccountCustomerStatus
    {
        /// <summary>
        /// Y: GD với KH
        /// </summary>
        Y = 0,
        /// <summary>
        /// N: Ko GD với KH
        /// </summary>
        N,
        /// <summary>
        /// Cả 2, lưỡng tính
        /// </summary>
        L
    }
    #endregion

    #region Contigen Object enum
    /// <summary>
    /// Trạng thái của tài khoản trong bảng Balance
    /// </summary>
    public enum ContigenObjectStatus
    {
        /// <summary>
        /// A = All
        /// </summary>
        A = 0,
        /// <summary>
        /// O = Open
        /// </summary>
        O,
        /// <summary>
        /// C = Close
        /// </summary>
        C,
        /// <summary>
        /// S = Suppend: Tạm ngưng hoạt động
        /// </summary>
        S
    }
    /// <summary>
    /// Loại tài khoản: Ngoại bảng nội bộ hay Ngoại bảng khách hàng
    /// </summary>
    public enum ContigenObjectAccountType
    {
        /// <summary>
        /// I: Tài khoản nội bộ
        /// </summary>
        I = 0,
        /// <summary>
        /// C: Tài khoản khách hàng
        /// </summary>
        C
    }
    public enum ContigenObjectCurrency
    {
        VND = 0
    }
    #endregion

    #region Order enum 20071027 TriDM
    /// <summary>
    /// Loại lệnh
    /// </summary>
    public enum OrderType
    {
        LO = 0,
        ATO,
        ATC,
        MP,
        PT
    }
    public enum OrderAlertCode
    {
        /// <summary>
        /// N = Không có cảnh báo 
        /// </summary>
        N = 0,
        /// <summary>
        /// C = Thiếu tiền (cần nộp tiền)
        /// </summary>
        C,
        /// <summary>
        /// S = Thiếu CK (cần giải tỏa)
        /// </summary>
        S
    }
    /// <summary>
    /// Lệnh mua hay lệnh bán
    /// </summary>
    public enum OrderSide
    {

        /// <summary>
        /// B = Buy
        /// </summary>
        B = 0,
        /// <summary>
        /// S = Sell
        /// </summary>
        S,
        /// <summary>
        /// 20090917: tuanha: A = All
        /// </summary>
        A
    }
    #endregion

    #region CustomerTransactionDay 20071029 TriDM
    /// <summary>
    /// Trạng thái giao dịch trong customer transaction day
    /// </summary>
    public enum CustomerTransactionDayStatus
    {
        /// <summary>
        /// N = Chưa duyệt
        /// </summary>
        N = 0,
        /// <summary>
        /// A = Đã duyệt
        /// </summary>
        A,
        /// <summary>
        /// X = Đã hủy
        /// </summary>
        X,
        /// <summary>
        /// G = Đã sản sinh bút toán
        /// </summary>
        G
    }
    /// <summary>
    /// Loại giao dịch
    /// </summary>
    public enum CustomerTransactionDayTransCode
    {
        /// <summary>
        /// C = Ghi tăng
        /// </summary>
        C = 0,
        /// <summary>
        /// D = Ghi giảm
        /// </summary>
        D,
        /// <summary>
        /// B = Phong tỏa
        /// </summary>
        B,
        /// <summary>
        /// U = Giải tỏa
        /// </summary>
        U
    }
    #endregion

    #region CustomerDebitLimitTransaction Type 20071029 TriDM
    public enum CustomerDebitLimitTransactionType
    {
        /// <summary>
        /// D = Ghi giảm
        /// </summary>
        D = 0,
        /// <summary>
        /// C = Ghi tăng
        /// </summary>
        C
    }

    public enum CustomerDebitLimitType
    {
        /// <summary>
        /// P=Period
        /// </summary>
        P = 0,
        /// <summary>
        /// D=day
        /// </summary>
        D = 1,
    }
    #endregion

    #region Right Exec 20071101 TriDM
    /// <summary>
    /// 20070606 HaiDS Init
    /// 20071101 TriDM update
    /// Loại hình thực hiện
    /// </summary>
    public enum RightTypeStatus
    {
        /// <summary>
        /// S = Stock - Chứng khoán
        /// </summary>
        S = 0,
        /// <summary>
        /// M = Money - Tiền
        /// </summary>
        M,
        /// <summary>
        /// R = Register - Đăng ký phát hành thêm
        /// </summary>
        R,
        /// <summary>
        /// V = Vote - Biểu quyết
        /// </summary>            
        V,
        /// <summary>
        /// D=Depository - Đăng ký lưu ký
        /// </summary>
        D,
        /// <summary>
        /// B=Bond - Trái phiếu chuyển đổi
        /// </summary>
        B,
        /// <summary>
        /// C=Cancel - Hủy niêm yết
        /// </summary>
        C
    }
    /// <summary>
    /// Làm tròn số cho loại hình S
    /// có thể dùng SelecteđInex để thay enum này cũng được.
    /// </summary>
    public enum RoundTypeStatus
    {
        /// <summary>
        /// DV = Đơn vị
        /// </summary>
        DV = 0,
        /// <summary>
        /// HC = Hàng chục
        /// </summary>
        HC,
        /// <summary>
        /// HT = Hàng trăm
        /// </summary>
        HT,
        /// <summary>
        /// HN = Hàng nghìn
        /// </summary>
        HN,
        /// <summary>
        /// TP = Thập phân
        /// </summary>
        TP,

        /// <summary>
        /// None = Không làm tròn
        /// </summary>
        //None
    }
    #endregion

    #region "Bank Detail Sheet"
    public enum BankDetailSheet
    {
        C, ///Phát sinh tăng
        D, ///Phát sinh giảm
        B, ///Phong tỏa tiền nội bộ
        U, ///Giải tỏa tiền nội bộ
        H, ///Phong tỏa tiền ngân hàng
        R  ///Giải tỏa tiền ngân hàng
    }
    #endregion

    #region StockTransfer enum 20071115 TriDM
    public enum StockTransferStatus
    {
        /// <summary>
        /// C: Created - Đã tạo hồ sơ
        /// </summary>
        C = 0,
        /// <summary>
        /// M: Moved - Đã in và chuyển hồ sơ
        /// </summary>
        M,
        /// <summary>
        /// P: Pending - Đã hạch toán chờ chuyển khoản
        /// </summary>
        P,
        /// <summary>
        /// H: Đã hạch toán báo có sàn HASE (nhưng chưa hạch toán HOSE)
        /// </summary>
        //H,
        /// <summary>
        /// O: Đã hạch toán báo có sàn HOSE (nhưng chưa hạch toán HASE)
        /// </summary>
        //O,
        /// <summary>
        /// U: Đã hạch toán báo có sàn UPCOM (nhưng chưa hạch toán HASE)
        /// </summary>
        //U,
        /// <summary>
        /// F: Finish - Đã hạch toán báo có (cả 2 sàn)
        /// </summary>
        F,
        /// <summary>
        /// X: Đã xóa
        /// </summary>
        X,
        /// <summary>
        /// A: Tất cả 
        /// </summary>
        A
    }
    #endregion

    #region AppSettings Param Type
    /// <summary>
    /// 20071122 TriDM
    /// </summary>
    public enum AppSettingsParamType
    {
        StringValue = 2,
        IntValue = 3,
        DecimalValue = 4,
        BinaryValue = 5,
        DateTimeValue = 6
    }
    #endregion

    #region Enum from Saras
    public enum BankType
    {
        BIDV,
        SHB,
        DAB,
        ACB,
        OCB,
        VSSDB
    }

    /// <summary>
    /// Cac ngan hang Online 
    /// </summary>
    public enum OnlineBankEnum
    {
        BIDV, //BIDV
        SHB,
        DAB,
        ACB,
        OCB,
        VSSDB
    }

    public enum BankTransactionType
    {
        INQUIRY,
        HOLD,
        UNHOLD,
        TRANSFER,
        OTHER
    }


    /// <summary>
    /// Loại giao dịch
    /// </summary>
    public enum CustomerTransCode
    {
        Debit, //Ghi giam
        Credit,//Ghi tang
        Block,//Block
        UnBlock,
        Hold,//Block tien o Bank
        Release,//Gia toa tien o Bank
        DebitImport,//Import offline giam
        CreditImport, //Import offline tang
        BankCredit,
        BankDebit
    }
    #endregion

    #region Generate Entry type
    /// <summary>
    /// Sinh ra nhiều bút toán đơn hay 1 bút toán kép
    /// 20080226 TriDM
    /// </summary>
    public enum GenerateEntryType
    {
        /// <summary>
        /// ListToManyEntry: 1 danh sách KH tạo ra nhiều bút toán tương ứng (1 HK sẽ có 1-nhiều bút toán)
        /// </summary>
        ListToManyEntry = 0,
        /// <summary>
        /// ListToOneEntry: 1 danh sách KH tạo ra 1 bút toán kép 1 vế hoặc kép 2 vế
        /// </summary>
        ListToOneEntry,
        /// <summary>
        /// ListToOneEntryMultiDebit: 1 danh sách KH sinh ra bút toán kép có nhiều bản ghi bên vế nợ
        /// </summary>
        ListToOneEntryMultiDebit,
        /// <summary>
        /// ListToOneEntryMultiCredit: 1 danh sách KH sinh ra bút toán kép có nhiều bản ghi bên vế có
        /// </summary>
        ListToOneEntryMultiCredit,
        /// <summary>
        /// ListToOneEntryMultiMix: 1 danh sách KH sinh ra 1 bút toán tổng hợp (số tiền = tổng tiền)
        /// </summary>
        ListToOneEntryMultiMix
    }

    /// <summary>
    /// Mã định khoản bút toán
    /// </summary>
    public enum EntryCode
    {
        CREDIT, //NOP TIEN
        DEBIT, //RUT TIEN
        TRANSFER, //CHUYEN KHOAN
        DAYT3, //T3
        DIVIDEND, //CO TUC
        LOAN, //PHAT VAY
        DEBT, //THU NO
        SPECIAL, //DAC BIET
        NONE,

        // 20080223 TriDM: bổ sung 1 số mã bút toán để phục vụ cho module sinh bút toán
        /// <summary>
        /// ALL = Liêt kê các Enum mới bổ sung ở dưới
        /// </summary>
        ALL = 10,
        /// <summary>
        /// BCT001: BuyCastContract Transfer - mã bút toán thực hiện phát vay  hợp đồng mua tiền bán CK
        /// TriDM: đặt giá trị 11 để khi bind dữ liệu ko ảnh hưởng các Enum ở trên (seletedIndex = enum - 10)
        /// </summary>
        BCCT01 = 11,
        /// <summary>
        /// BCCD01: BuyCast Contract Debt - mã bút toán thực hiện thu nợ gốc hợp đồng mua tiền bán CK
        /// </summary>
        BCCD01 = 12,
        /// <summary>
        /// BCCD02: BuyCast Contract Debt - mã bút toán thực hiện thu phí hợp đồng mua tiền bán CK
        /// </summary>
        BCCD02 = 13
    }

    /// <summary>
    /// Loại bù trừ
    /// </summary>
    public enum ClearingType
    {
        /// <summary>
        /// N: None - Không bù trừ
        /// </summary>
        N = 0,
        /// <summary>
        /// C: Center - Branch - Bù trừ ở mức Hội sở, chi nhánh
        /// </summary>
        C,
        /// <summary>
        /// A: Branch - Agent - Bù trừ ở mức chi nhánh, đại lý
        /// </summary>
        B
    }
    #endregion

    #region Loai ngay hach toan
    public enum DayType
    {
        /// <summary>
        /// Ngày T
        /// </summary>
        T = 0,
        ///// <summary>
        ///// Ngày T+1
        ///// </summary>
        //T1,
        /// <summary>
        /// Ngày T+2 CK hoac T+1 trai phieu
        /// </summary>
        T2,
        /// <summary>
        /// Ngày T+3
        /// </summary>
        T3
    }
    #endregion

    #region Loai hach toan
    public enum DayPostType
    {
        HachToan_NgayT = 0,
        HachToan_NoiBang_TraiPhieu_NgayT1 = 11,
        HachToan_NgoaiBang_TraiPhieu_NgayT1 = 12,
        HachToan_NoiBang_CK_NgayT2 = 21,
        HachToan_NgoaiBang_CK_NgayT2 = 22,
        HachToan_NoiBang_CK_NgayT3 = 31,
        HachToan_NgoaiBang_CK_NgayT3 = 32
    }
    #endregion

    #region Kieu hach toan
    public enum EntryType
    {
        /// <summary>
        /// Balance = Hạch toán tiền
        /// </summary>
        Balance = 0,
        /// <summary>
        /// Contigen = Hạch toán CK
        /// </summary>
        Contigen
    }
    #endregion

    #region CustomerPostType
    /// <summary>
    /// Các giá trị trong cột PostType ở bảng Customer
    /// </summary>
    public enum CustomerPostType
    {
        /// <summary>
        /// NoPost = NoStockNoMoney: Không kiểm tra tiền và CK
        /// </summary>
        NoPost = -1,
        /// <summary>
        /// OffMoney = CheckStockCheckMoney: kiểm tra bình thường (cả tiền và CK) (trong form hạch toán tự động thì normal=0 là check tiền trực tiếp qua 353)
        /// </summary>
        OffMoney = 0,
        /// <summary>
        /// OnMoney = CheckStockCheckMoneyBankOnline: kiểm tra bình thường (trong form hạch toán tự động check tiền qua Web service ngân hàng)
        /// </summary>
        OnMoney = 1,
        /// <summary>
        /// StockOnly = CheckStockNoMoney: chỉ kiểm tra CK, không check tiền (dùng cho KH đại lý)
        /// </summary>
        StockOnly = 2
    }
    #endregion

    #region Bank Reports
    public class FinancialReport
    {
        public enum BRAVO
        {
            /// <summary>
            /// Bảng kê các bút toán giao dịch
            /// </summary>
            BalanceEntry,
            /// <summary>
            /// Bảng kê các bút toán ngoại bảng
            /// </summary>
            ContigenEntry,
            /// <summary>
            /// Bảng kê các bút toán nhập mua Chứng khoán Tự doanh
            /// </summary>
            PrivateBuyingEntry,
            /// <summary>
            /// Bảng kê các bút toán xuất bán Chứng khoán Tự doanh
            /// </summary>
            PrivateSellingEntry

        }
    }
    public class BankReport
    {
        public enum MORTA
        {
            /// <summary>
            /// Hợp đồng cầm cố
            /// </summary>
            HopDongCamCo,
            /// <summary>
            /// Giấy nhận nợ vay
            /// </summary>
            GiayNhanNoVay,
            /// <summary>
            /// Giấy thu nợ vay
            /// </summary>
            GiayThuNo,
            /// <summary>
            /// Đề nghị Bổ xung
            /// </summary>
            DeNghiBoSung,
            /// <summary>
            /// Thông báo bổ xung gửi khách hàng
            /// </summary>
            ThongBaoBoSung,
            /// <summary>
            /// Đề nghị trả nợ trước hạn
            /// </summary>
            YeuCauGiaiToa,
            /// <summary>
            /// Đề nghị cơ cấu lại thời hạn trả nợ
            /// </summary>
            YeuCauRaHan,

        }
        public enum MARGI
        {
            /// <summary>
            /// Hợp đồng bảo chứng
            /// </summary>
            HopDongBaoChung,
            /// <summary>
            /// Giấy nhận nợ vay
            /// </summary>
            GiayNhanNoVay,
            /// <summary>
            /// Giấy thu nợ vay
            /// </summary>
            GiayThuNo,
            /// <summary>
            /// Đề nghị Bổ xung
            /// </summary>
            DeNghiBoSung,
            /// <summary>
            /// Thông báo bổ xung gửi khách hàng
            /// </summary>
            ThongBaoBoSung,
            /// <summary>
            /// Đề nghị trả nợ trước hạn
            /// </summary>
            YeuCauGiaiToa,
            /// <summary>
            /// Đề nghị cơ cấu lại thời hạn trả nợ
            /// </summary>
            YeuCauRaHan,

        }


    }

    #endregion

    public enum ContractStatus
    {
        /// <summary>
        /// Open: Hợp đồng chưa được duyệt
        /// </summary>
        O = 0,
        /// <summary>
        /// Approved: Hợp đồng đã được duyệt
        /// </summary>
        A,
        /// <summary>
        /// Must Pay : Hợp đồng đã ứng tiền vào tài khoản
        /// </summary>
        T,
        /// <summary>
        /// End: Hợp đồng đã hoàn tiền ứng trước, kết thúc hợp đồng
        /// </summary>
        E,
        /// <summary>
        /// X: Hợp đồng đã xóa
        /// </summary>
        X,
        /// <summary>
        /// W: Tất cả các hợp đồng
        /// </summary>
        W

    }

    public enum ContractParametersStatus
    {
        /// <summary>
        /// O = Open : Mo
        /// </summary>
        O = 0,
        /// <summary>
        /// C = Closed : Da dong
        /// </summary>
        C
    }
    public enum DefineType
    {
        /// <summary>
        /// Theo khoảng giá (Range Value)
        /// </summary>
        RV,
        /// <summary>
        /// Theo thị giá (Market Value)
        /// </summary>
        MV,
        ///// <summary>
        ///// Theo giá tham chiếu (Basic Value)
        ///// </summary>
        //BV
    }

    public enum ContractParametersType
    {
        /// <summary>
        /// A = Advance: Ung truoc
        /// </summary>
        A = 0,
        /// <summary>
        /// 20090306 Haids:update B = Advance Bank: Ứng trước ngân hàng
        /// </summary>
        B,
        /// <summary>
        /// M = Mortage: Cam co
        /// </summary>
        /// 
        M,
        /// <summary>
        /// 20090805 TienNK them
        /// G = Guaranty: Bao Chung
        /// </summary>
        /// 
        G
    }
    public enum GLRateType // khai bao cac tinh  lai sua cac loai tien tại công ty
    {
        /// <summary>
        /// Phi mua quyền bán
        /// </summary>
        U = 0,
        /// <summary>
        /// Lãi suất tiền gửi tại công ty
        /// </summary>
        T,
        /// <summary>
        /// Phí phải trả cho đại lý
        /// </summary>
        F,
        /// <summary>
        /// Tỉ lệ lợi nhuận trên phí ứng trước
        /// </summary>
        A,
        /// <summary>
        /// Tỉ lệ lợi nhuận trên tiền chậm
        /// </summary>
        D,
        /// <summary>
        /// Tỉ lệ lợi nhuận cầm cố
        /// </summary>
        M


    }
    /// <summary>
    /// 
    /// </summary>
    public enum PartnerType
    {
        /// <summary>
        /// Agency
        /// </summary>
        A,
        /// <summary>
        /// Bank
        /// </summary>
        B
    }
    #region VAT
    public enum InvoiceType
    {
        //VAT(Hoa don gia tri gia tang)
        V,
        //TAX (Hoa don thue)
        T
    }
    public enum InvoiceStatus
    {
        //(Use:Da su dung)
        U,
        //(Delete:Xoa)
        D,
        //(Mat cap)
        P,
        //(Return:Tra lai)
        R
    }
    #endregion

    #region Repot Enum
    public enum ReportCode
    {
        /// <summary>
        /// 
        /// </summary>
        LuuKy_ChuyenKhoan_GiayDeNghiTatToanTK,
        /// <summary>
        /// 
        /// </summary>
        LuuKy_BaoCaoGiaoDichLoLe_BangKeChungKhoanGiaoDichLoLe,
        /// <summary>
        /// 
        /// </summary>
        LuuKy_BaoCaoGiaoDichLoLe_BangKeLoLe,
        /// <summary>
        /// báo cáo: Liệt kê giao dịch nội bảng
        /// </summary>
        BalanceTransactionModule_BalanceTransactionReport,
        /// <summary>
        /// Báo cáo Sao kê tài khoản giao dịch chứng khoán bằng Tiếng Anh
        /// </summary>
        BalanceTranasctionModule_AccountSecuritiesTradingReport,
        /// <summary>
        /// báo cáo: Liệt kê giao dịch nội ngoại bảng
        /// </summary>
        ContigenTransactionModule_ContigenTransactionReport,
        /// <summary>
        /// Phiếu kế toán nội bảng
        /// </summary>
        BalanceDayReport,
        /// <summary>
        /// Phiếu kế toán ngoại bảng
        /// </summary>
        ContigenDayReport,
        /// <summary>
        /// Phiếu thu chi
        /// </summary>
        ReceiptsAndPaymentsReport,
        /// <summary>
        /// Liet ke giao dich theo ngay
        /// </summary>
        LietKeGiaoDich,
        /// <summary>
        /// Danh Sach Cham Tien Ngay T
        /// </summary>
        DSChamTienNgayT,
    }
    #endregion

    #region CustomerBalance Check Enum
    /// <summary>
    /// Loại kiểm tra của bảng CustomerBalance (dùng trong kết thúc ngày)
    /// </summary>
    public enum CustomerBalanceCheckType
    {
        /// <summary>
        /// Kiểm tra giải tỏa nội bộ
        /// </summary>
        Local = 0,
        /// <summary>
        /// Kiểm tra giải tỏa ngân hàng
        /// </summary>
        Bank = 1
    }
    #endregion

    public enum DefferedType
    {
        /// <summary>
        /// Thanh toán chậm tiền ngày T
        /// </summary>
        CLEARING,
    }

    public enum PorscheGatewayConnectStatus
    {
        Connecting,
        Error,
        Connected,
        None
    }

    public enum NoTransDateStatus
    {
        /// <summary>
        /// A = tất cả
        /// </summary>
        A = 0,
        /// <summary>
        /// W= ngày thứ 7, CN
        /// </summary>
        W,
        /// <summary>
        /// H = ngày nghỉ 
        /// </summary>
        H
    }

    public enum NoTransDateType
    {
        /// <summary>
        /// A = tất cả
        /// </summary>
        A = 0,
        /// <summary>
        /// W= ngày nghỉ thông thường
        /// </summary>
        H,
        /// <summary>
        /// T = ngày nghỉ của trung tâm
        /// </summary>
        T
    }

    /// <summary>
    /// 20100709 Haids: Thang giá trị (Báo cáo quản lý)
    /// </summary>
    public enum MRValueRangeEnum
    {
        /// <summary>
        /// M: Số dư tiền khách hàng
        /// </summary>
        M,
        /// <summary>
        /// V: Giá trị giao dịch khách hàng
        /// </summary>
        V,
        /// <summary>
        /// F: Phí giao dịch khách hàng
        /// </summary>
        F,
        /// <summary>
        /// P: Doanh thu từ đòn bẩy
        /// </summary>
        P,
        /// <summary>
        /// E: Tổng doanh thu từ phí
        /// </summary>
        E
    }

    /// <summary>
    /// 20100601 Haids: 
    /// Làm riêng Enum để dùng cho Phần Gửi chứng khoán và Rút chứng khoán
    /// </summary>
    public enum SecuritiesTypeEnumForDepositoty
    {
        /// <summary>
        /// N = Normal: CK giao dịch
        /// </summary>
        N,
        /// <summary>
        /// W = CK chờ giao dịch
        /// </summary>
        W
    }

    public enum SecuritiesTypeEnum
    {
        /// <summary>
        /// N = Normal: CK giao dịch
        /// </summary>
        N,
        /// <summary>
        /// P = Pending: CK chờ thanh toán
        /// </summary>
        P,
        /// <summary>
        /// M = Mortage: CK cầm cố
        /// </summary>
        M,
        /// <summary>
        /// R = Repo: CK cầm cố khác
        /// </summary>
        R,
        /// <summary>
        /// L = Limited: CK hạn chế
        /// </summary>
        L,
        /// <summary>
        /// O = OTC
        /// 20080728 Haids: edit CK CNY: U
        /// </summary>
        O,
        /// <summary>
        /// U = chua niem yet
        /// </summary>
        U,
        /// <summary>
        /// T = Transaction: CK chuyển khoản
        /// </summary>
        T,
        /// <summary>
        /// D = CK lẻ
        /// </summary>
        D,
        /// <summary>
        /// W = CK chờ giao dịch
        /// </summary>
        W,
        /// <summary>
        /// S = CK chờ rút
        /// </summary>
        S,
        /// <summary>
        /// Y = CK chờ giao dịch hạn chế
        /// </summary>
        Y,
        /// <summary>
        /// B = Chứng khoán chờ mua về
        /// </summary>
        B,
        /// <summary>
        /// E = Chứng khoán chờ mua về có thể bán
        /// </summary>
        E,
        /// <summary>
        /// C1 = Chứng khoán cầm cố khác loại 1
        /// </summary>
        C1,
        /// <summary>
        /// C2 = Chứng khoán cầm cố khác loại 2
        /// </summary>
        C2,
        /// <summary>
        /// C3 = Chứng khoán cầm cố khác loại 3
        /// </summary>
        C3,
        /// <summary>
        /// C4 = Chứng khoán cầm cố khác loại 4
        /// </summary>
        C4,
        /// <summary>
        /// C5 = Chứng khoán cầm cố khác loại 5
        /// </summary>
        C5,
        /// <summary>
        /// C6 = Chứng khoán cầm cố khác loại 6
        /// </summary>
        C6,
        /// <summary>
        /// C7 = Chứng khoán cầm cố khác loại 7
        /// </summary>
        C7,
        /// <summary>
        /// C8 = Chứng khoán cầm cố khác loại 8
        /// </summary>
        C8,
        /// <summary>
        /// C9 = Chứng khoán cầm cố khác loại 9
        /// </summary>
        C9,
        /// <summary>
        /// C10 = Chứng khoán cầm cố khác loại 10
        /// </summary>
        C10
    }

    public enum CustomerType
    {
        /// <summary>
        /// B = Cả 2
        /// </summary>
        B,
        /// <summary>
        /// D = Domestic: KH trong nước
        /// </summary>
        D,
        /// <summary>
        /// F = Foreign: KH nước ngoài
        /// </summary>
        F,
        /// <summary>
        /// P = Tự doanh
        /// </summary>
        P,
        ///20090924 Tuanha:
        /// <summary>
        /// I = Cá nhân
        /// </summary>
        I,
        /// <summary>
        /// E = Tổ chức
        /// </summary>
        E
    }

    public enum AdvanceAgentType
    {
        CONG_TY,
        DAI_LY
    }

    public enum ContigenObjectInsertStatus
    {
        /// <summary>
        /// None: Không xuất nhập
        /// </summary>
        None = 0,
        /// <summary>
        /// Credit: Nhập
        /// </summary>
        Credit,
        /// <summary>
        /// Debit: Xuất
        /// </summary>
        Debit,
    }

    /// <summary>
    /// Định nghĩa kiểu lãi suất
    /// </summary>
    public enum EnumRateType
    {
        D = 0,
        M,
        Y
    }

    /// <summary>
    /// Định nghĩa kiểu trả lãi
    /// </summary>
    public enum EnumInterestPaymentType
    {
       B,
       A
    }

    public enum LanguageEnum
    {
        vn,
        en
    }
    /// <summary>
    /// Định nghĩa kiểu client request đến PorscheGateway
    /// </summary>
    public enum PorscheRequestType
    {
        /// <summary>
        /// Đại lý
        /// </summary>
        Agency,

        /// <summary>
        /// Trading Online
        /// </summary>
        OnlineTrading,

        /// <summary>
        /// Phone
        /// </summary>
        Phone,

        /// <summary>
        /// Hệ thống SBS
        /// </summary>
        BackOffice,

        /// <summary>
        /// Hệ thống SFS
        /// </summary>
        SfsSystem,
    }

    /// <summary>
    /// Các thao tác cơ bản về dữ liệu (thêm, sửa, xóa)
    /// </summary>
    public enum DataAction
    {
        /// <summary>
        /// Delete Status - Xóa
        /// </summary>
        Delete,

        /// <summary>
        /// Insert Status - Thêm mới
        /// </summary>
        Insert,

        /// <summary>
        /// Update Status - Cập nhật
        /// </summary>
        Update,

        /// <summary>
        /// Approve Status - Duyệt
        /// </summary>
        Approve,

        /// <summary>
        /// List Status - Liệt kê
        /// </summary>
        List,

        /// <summary>
        /// UpdateFee - cập nhật phí khi thực hiện tính lại toàn bộ phí (chỉ áp dụng cho bảng TradingResult và module tính phí)
        /// </summary>
        UpdateFeeAll,
        UpdateFeeByCustomer,
        UpdateFeeOnTradeResult,
        /// <summary>
        /// Gạch lỗi giao dịch
        /// </summary>
        RemoveNoPost,
        /// <summary>
        /// Tính phí khuyến mại
        /// </summary>
        UpdatePromotionFee,

        /// <summary>
        /// Tính giá vốn trung bình cho tất cả khách hàng
        /// </summary>
        DoAvgAll,

        /// <summary>
        /// Chuyển trạng thái hợp đồng ứng trước
        /// </summary>
        ChangeStatusAdvance,

        /// <summary>
        /// Chuyển trạng thái
        /// </summary>
        ChangeStatus,

        /// <summary>
        /// Cập nhật bảng mã
        /// </summary>
        UpdateStockCode,

          /// <summary>
        /// Thêm mới mã CK
        /// </summary>
        InsertStockCode,

        /// <summary>
        /// Xóa mã CK
        /// </summary>
        DeleteStockCode, 

         /// <summary>
        /// Thêm mới mã TVLK
        /// </summary>
        InsertCompany,
        /// Cập nhật bảng mã TVLK
        /// </summary>
        UpdateCompany,
         /// Xóa mã TVLK
        /// </summary>
       DeleteCompany 
    } 

    /// <summary>
    /// Enum định nghĩa kiểu lấy dữ liệu của báo cáo tình hình giao dịch
    /// </summary>
    public enum TradingSituationType
    {
        /// <summary>
        /// Các tài khoản thường 
        /// </summary>
        NormalAccount,

        /// <summary>
        /// Tài khoản tự doanh
        /// </summary>
        PrivateAccount,

        /// <summary>
        /// Tất cả các tài khoản (thường + đặc biệt + tự doanh)
        /// </summary>
        AllAccount,

        /// <summary>
        /// Tất cả các tài khoản (thường + đặc biệt)
        /// </summary>
        AllAccountWithoutPrivateAccount,

        /// <summary>
        /// Tài khoản đặc biệt
        /// </summary>
        SpecialAccount,
    }
    /// <summary>
    /// 
    /// </summary>
    public enum TradeFeeType
    {
        All,
        One
    }

    /// <summary>
    /// Tên các bảng được ghi log bằng phần mềm 
    /// </summary>
    public enum ActionLogTableName
    {
        /// <summary>
        /// Bảng StockOrder
        /// </summary>
        StockOrder,

        /// <summary>
        /// Bảng TradingOrder
        /// </summary>
        TradingOrder,

        /// <summary>
        /// Bảng TradingResult
        /// </summary>
        TradingResult,

        /// <summary>
        /// Bảng Promotion
        /// </summary>
        Promotion,
        /// <summary>
        /// 
        /// </summary>
        PromotionStock,
        /// <summary>
        /// 
        /// </summary>
        PromotionTotal,
        /// <summary>
        /// 
        /// </summary>
        PromotionCustomerDetails,
        /// <summary>
        /// 
        /// </summary>
        AmortizationDetails,
        PromotionDetails,
        PromotionPriority,

        AdvanceSettings,

        Settings,

        BravoAccount,

        BravoAccountMapping,

        RecursiveSetting,

        RecursiveSettingDetails,

        OrderSysStat,

        MarketStat,

        TransactionDiary,

        BuyCashContract,

        AdvanceContractAll,

        RightExec,

        RightExecRegister,

        CashTransferAccount,

        CashTransferAccountDetails,

        BillSymbolRange,

        BillReportParam,

        Depository,

        InnerTransfer,
        GLStockCode,
        Company
    }

    #region BalanceContigenLog
    public enum LogType
    {
        /// <summary>
        /// A = Approve
        /// </summary>
        A = 0,

        /// <summary>
        /// I = Insert
        /// </summary>
        I,

        /// <summary>
        /// D = Delete
        /// </summary>
        D,

        /// <summary>
        /// U = Update
        /// </summary>
        U
    }

    public enum BalanceOrContigen
    {
        /// <summary>
        /// B = Balance
        /// </summary>
        B = 0,

        /// <summary>
        /// C = Contigen
        /// </summary>
        C
    }
    #endregion

    #region Confirm Form
    /// <summary>
    /// Enum sử dụng trong form confirm
    /// </summary>
    public enum ConfirmFormResult
    {
        /// <summary>
        /// Mã xác nhận trong form là hợp lệ
        /// </summary>
        ValidConfirm,

        /// <summary>
        /// Mã xác nhận không hợp lệ
        /// </summary>
        InvalidConfirm
    }
    #endregion

    #region description settings
    public enum DescriptionSettingType
    {
        /// <summary>
        /// A = Hạch toán T-Tn (với khách hàng)
        /// </summary>
        A = 0,

        /// <summary>
        /// B = Hạch toán T-Tn (tự doanh)
        /// </summary>
        B,

        /// <summary>
        /// C = Ứng trước
        /// </summary>
        //C,

        /// <summary>
        /// D = Thiết lập khác (VD: tiện ích kế toán số 3)
        /// </summary>
        D,

        /// <summary>
        /// E = Cầm cố
        /// </summary>
        E,

        /// <summary>
        /// F = Thực hiện quyền
        /// </summary>
        F,

        /// <summary>
        /// G = Đăng ký phát hành thêm
        /// </summary>
        G,

        /// <summary>
        /// H = Lưu ký
        /// </summary>
        H,

        /// <summary>
        /// I = Tất toán tài khoản
        /// </summary>
        I,

        /// <summary>
        /// J = Lô lẻ
        /// </summary>
        J,

        /// <summary>
        /// Mua quyền bán CK 
        /// </summary>
        //K,
    }

    /// <summary>
    /// Enum định nghĩa tên các tham số
    /// Quy ước - 8 ký tự
    /// Chữ cái đầu:
    /// D - Description
    /// M - Message
    /// Chữ số tiếp theo
    /// 1 - nội bảng
    /// 0 - ngoại bảng
    /// 2 - Loại khác
    /// 6 số tiếp theo tự nhảy theo thứ tự
    /// </summary>
    public enum DescriptionSettingParaName
    {
        /// <summary>
        /// D0000001 Xuất CK bán chờ thanh toán ngày T (OrderDate) BoardName
        /// Vị trí: ClearingHelper.cs > MakeTContigen()
        /// </summary>
        D0000001,

        /// <summary>
        /// D0000002 Nhập CK bán chờ thanh toán ngày T ({OrderDate}) {BoardName}
        /// Vị trí: ClearingHelper.cs > MakeTContigen()
        /// </summary>
        D0000002,

        /// <summary>
        /// D0000003 Xuất CK chờ thanh toán GD ({OrderDate}) {BoardName}
        /// Vị trí: ClearingHelper.cs > MatkeTnContigen()
        /// </summary>
        D0000003,

        /// <summary>
        /// D0000004 Nhập CK mua ngày ({OrderDate}) sàn {BoardName}
        /// Vị trí: ClearingHelper.cs > MatkeTnContigen()
        /// </summary>
        D0000004,

        /// <summary>
        /// D0000005 - DescriptionSettingType_E - Xuất CK cầm cố theo HĐ {ContractId}/CC ngày {StartDate}
        /// Vị trí: Lapas.DAL > MortageContract > MortageContract.cs > CreateMortageContigenAccount();
        /// </summary>
        D0000005,

        /// <summary>
        /// D0000006 - DescriptionSettingType_E - Nhập CK cầm cố theo HĐ {ContractId}/CC ngày {StartDate}
        /// </summary>
        D0000006,

        /// <summary>
        /// D0000007 - DescriptionSettingType_F - Thực hiện quyền {StockCode}, ngày chốt {DateOwnerConfirm}, tỉ lệ {RightExecRateB}/{RightExecRateA} 
        /// Vị trí: RightExecAutoPostForm.cs > MakeContigenEntry()
        /// </summary>
        D0000007,

        /// <summary>
        /// D0000008 - DescriptionSettingType_G - Nhập {StockCode} PH thêm, tỉ lệ {RightExecRateB}/{RightExecRateA}, DSSH ngày {DateOwnerConfirm}, KL mua {Volume}, giá PH {Price}
        /// </summary>
        D0000008,

        /// <summary>
        /// D0000009 - DescriptionSettingType_H - Nhập {StockCode} SL {Volume} chờ lưu ký cho khách hàng {CustomerId}
        /// </summary>
        D0000009,

        /// <summary>
        /// D0000010 - DescriptionSettingType_H - Xuất {StockCode} SL {Volume} chờ lưu ký của khách hàng {CustomerId}
        /// </summary>
        D0000010,

        /// <summary>
        /// D0000011 - DescriptionSettingType_H - Nhập {StockCode} SL {Volume} đã lưu ký cho khách hàng {CustomerId}
        /// </summary>
        D0000011,

        /// <summary>
        /// D0000012 - DescriptionSettingType_H - Xuất {StockCode} khách hàng {CustomerId}, {Volume}, {Notes}
        /// </summary>
        D0000012,

        /// <summary>
        /// D0000013 - DescriptionSettingType_H - Nhập {StockCode} chờ rút của khách hàng {CustomerId}, {Volume}, {Notes}
        /// </summary>
        D0000013,

        /// <summary>
        /// D0000014 - DescriptionSettingType_H - Xuất {StockCode} chờ rút của khách hàng {CustomerId}, {Volume}, {Notes}
        /// </summary>
        D0000014,

        /// <summary>
        /// D0000015 - DescriptionSettingType_I - Xuất CK theo yêu cầu đóng TKGD của khách hàng  {CustomerId} - {CustomerNameViet} về {CompanyName} - {CompanyDepositoryAccountId}
        /// </summary>
        D0000015,

        /// <summary>
        /// D0000016 - DescriptionSettingType_I - Nhập CK theo yêu cầu đóng TKGD của khách hàng {CustomerId} - {CustomerNameViet} về {CompanyName} - {CompanyDepositoryAccountId}
        /// </summary>
        D0000016,

        /// <summary>
        /// D0000017 - DescriptionSettingType_I - Xuất CK đã chuyển khoản đóng cho KH {CustomerId} - {CustomerNameViet} về {CompanyName} - {CompanyDepositoryAccountId}
        /// </summary>
        D0000017,

        /// <summary>
        /// D0000018 - DescriptionSettingType_I - Khách hàng {CustomerId} bán lô lẻ {StockCode} SL {Volume} giá {Price}
        /// </summary>
        D0000018,
        /// <summary>
        /// D0000019 - DescriptionSettingType_H - Xuất {StockCode} SL {Volume} chờ GD của khách hàng {CustomerId}
        /// </summary>
        D0000019,
        /// <summary>
        /// D0000020 - DescriptionSettingType_H - Nhập {StockCode} SL {Volume} GD của khách hàng {CustomerId}
        /// </summary>
        D0000020,
        /// <summary>
        /// D0000021 - DescriptionSettingType_H - Xuất {StockCode} SL {Volume} chờ lưu ký khách hàng {CustomerId}
        /// </summary>
        D0000021,
        //-------------------------------------------------------------------------------------//
        //-------------------------------------------------------------------------------------//
        //-------------------------------------------------------------------------------------//


        /// <summary>
        /// D1000001 Thanh toán tiền mua chứng khoán ngày T ({OrderDate}) sàn {BoardName})
        /// Vị trí: ClearingProcessing.cs > Validate()
        /// </summary>
        D1000001,

        /// <summary>
        /// D1000002 Thanh toán phí mua chứng khoán ngày T ({OrderDate}) sàn {BoardName})
        /// Vị trí: ClearingProcessing.cs > Validate()
        /// </summary>
        D1000002,

        /// <summary>
        /// D1000003 Thanh toán tiền bán chứng khoán ngày ({OrderDate}) sàn {BoardName})
        /// Vị trí: ClearingProcessing.cs > Validate()
        /// </summary>
        D1000003,

        /// <summary>
        /// D1000004 Thanh toán phí bán chứng khoán ngày ({OrderDate}) sàn {BoardName})
        /// Vị trí: ClearingProcessing.cs > Validate()
        /// </summary>
        D1000004,

        /// <summary>
        /// D1000005 Thanh toán thuế bán chứng khoán ngày ({OrderDate}) sàn {BoardName})
        /// Vị trí: ClearingProcessing.cs > Validate()
        /// </summary>
        D1000005,

        /// <summary>
        /// D1000006 Thanh toán tiền ngày {OrderDate} số tiền {DeferredBalance}
        /// Vị trí: ClearingProcessing.cs > PayDeferment()
        /// </summary>
        D1000006,

        /// <summary>
        /// D1000007 - DescriptionSettingType_B - Nhập giá vốn đối với các mã CK mua ({OrderDate} sàn {BoardName})
        /// Vị trí: ClearingPrivateDAL.cs > Validate()
        /// </summary>
        D1000007,

        /// <summary>
        /// D1000008 - DescriptionSettingType_B - Doanh thu hoạt động kinh doanh {StockCode} SL {Volume} giá {Price}
        /// Vị trí: ClearingPrivateDAL.cs > Validate()
        /// </summary>
        D1000008,

        /// <summary>
        /// D1000009 - DescriptionSettingType_B - Chi phí hoạt động kinh doanh {StockCode} SL {Volume} giá {Price}
        /// Vị trí: ClearingPrivateDAL.cs > Validate()
        /// </summary>
        D1000009,

        /// <summary>
        /// D1000010 - DescriptionSettingType_C - {AdvanceActionName} HD {ContractId}, KH {CustomerId} {CustomerNameViet}, ngày HD {ContractDate}, ngày TT {PaymentDate}
        /// Vị trí: Lapas > GiaoDichKhachHangModule > HopDongUngTruoc > TaskDefine > AdvanceProcessAction.cs
        /// </summary>
        //D1000010,

        /// <summary>
        /// D1000011 - DescriptionSettingType_C - {AdvanceActionName}, (gồm: {AdvanceMoneyTypeInBalance}), ngày thanh toán {PaymentDate}
        /// Vị trí: Lapas > GiaoDichKhachHangModule > HopDongUngTruoc > TaskDefine > AdvanceProcessAction.cs
        /// </summary>
        //D1000011,

        /// <summary>
        /// D1000012 - DescriptionSettingType_D - Bù trừ tiền mặt giữa 2 tài khoản {FromCustomerId} ({FromCustomerNameViet}) - {ToCustomerId} ({ToCustomerNameViet}) 
        /// Vị trí: UtilityForm.cs > txtFromAccountIdValidated()
        /// </summary>
        D1000012,

        /// <summary>
        /// D1000013 - DescriptionSettingType_E - Phát vay hợp đồng {ContractId}/CC
        /// Vị trí: GiaoDichKhachHangModule > MortageModule > MortageContractTransferForm.cs > MortageContract_Transfer()
        /// </summary>
        D1000013,

        /// <summary>
        /// D1000014 - DescriptionSettingType_E - Thu phí quản lý hợp đồng {ContractId}/CC
        /// Vị trí: GiaoDichKhachHangModule > MortageModule > MortageContractTransferForm.cs > LayButToanThuPhi()
        /// </summary>
        D1000014,

        /// <summary>
        /// D1000015 - DescriptionSettingType_E - Ghi tăng tài khoản {CustomerId} số tiền {Amount}đ từ HD cầm cố {ContractId}
        /// Vị trí: GiaoDichKhachHangModule > MortageModule > MortageContractTransferForm.cs > CreateBankTransaction()
        /// </summary>
        D1000015,

        /// <summary>
        /// D1000016 - DescriptionSettingType_E - Ghi giảm tài khoản {CustomerId} số tiền {Amount}đ thu phí HD cầm cố {ContractId}
        /// Vị trí: GiaoDichKhachHangModule > MortageModule > MortageContractTransferForm.cs > LayButToanThuPhi()
        /// </summary>
        D1000016,

        /// <summary>
        /// D1000017 - DescriptionSettingType_E - Thu nợ hợp đồng {ContractId}/CC
        /// Vị trí: GiaoDichKhachHangModule > MortageModule > MortageContractCollectDebtForm.cs > MortageContract_CollectDebt()
        /// </summary>
        D1000017,

        /// <summary>
        /// D1000018 - DescriptionSettingType_E - Ghi giảm tài khoản {CustomerId} số tiền thu nợ {Amount}đ theo HĐ cầm cố {ContractId}
        /// Vị trí: GiaoDichKhachHangModule > MortageModule > MortageContractCollectDebtForm.cs > GetButToanThuNo()
        /// </summary>
        D1000018,

        /// <summary>
        /// D1000019 - DescriptionSettingType_E - Thu lãi hợp đồng {ContractId}/CC
        /// Vị trí: GiaoDichKhachHangModule > MortageModule > MortageContractInterestForm.cs > MortageContract_CollectInterest()
        /// </summary>
        D1000019,

        /// <summary>
        /// D1000020 - DescriptionSettingType_E - Ghi giảm tài khoản {CustomerId} số tiền thu lãi {Amount}đ theo HĐ cầm cố {ContractId}
        /// Vị trí: GiaoDichKhachHangModule > MortageModule > MortageContractInterestForm.cs > GetButToanThuLai()
        /// </summary>
        D1000020,

        /// <summary>
        /// D1000021 - DescriptionSettingType_F - Tăng tiền cho khách hàng từ thực hiện quyền {StockCode} ngày chốt {DateOwnerConfirm} loại hình {RightTypeNameViet}
        /// Vị trí: RightExecAutoPostForm.cs > MakeAutoPost()
        /// </summary>
        D1000021,

        /// <summary>
        /// D1000022 - DescriptionSettingType_F - Thực hiện quyền {StockCode}, ngày chốt {DateOwnerConfirm}, tỉ lệ {RightExecRate}, loại hình {RightTypeNameViet}
        /// </summary>
        D1100022,
        /// <summary>
        /// D1000022 - DescriptionSettingType_F - Thực hiện quyền {StockCode}, ngày chốt {DateOwnerConfirm}, tỉ lệ {RightExecRate}, loại hình {RightTypeNameViet}
        /// </summary>
        D1100023,

        /// <summary>
        /// D1000023 - DescriptionSettingType_G - Khách hàng {CustomerId} nộp tiền đăng ký phát hành thêm {StockCode}
        /// </summary>
        D1000023,

        /// <summary>
        /// D1000024 - DescriptionSettingType_G - Thanh toán tiền mua quyền {StockCode} tỉ lệ {RightExecRateB}/{RightExecRateA} của khách hàng {CustomerId} số tiền {Amount}
        /// </summary>
        D1000024,

        /// <summary>
        /// D1000025 - DescriptionSettingType_G - Đăng ký mua chứng khoán {StockCode}
        /// </summary>
        D1000025,

        /// <summary>
        /// D1000026 - DescriptionSettingType_J - Khách hàng {CustomerId} bán lô lẻ {StockCode} KL {Volume} giá {Price}
        /// </summary>
        D1000026,
        /// <summary>
        /// D1000026 - DescriptionSettingType_J - Thue TNCN Khách hàng {CustomerId} bán lô lẻ {StockCode} KL {Volume} giá {Price}
        /// </summary>
        D1100026,

        /// <summary>
        /// D1000027 - DescriptionSettingType_J - Chuyển tiền bán chứng khoán lô lẻ
        /// </summary>
        D1000027,
        /// <summary>
        /// D1000027 - DescriptionSettingType_J - Cắt tiền thuế TNCN từ bán chứng khoán lô lẻ
        /// </summary>
        D1100027,

        /// <summary>
        /// D1000028 - DescriptionSettingType_J - Bán chứng khoán lô lẻ số tiền {Amount}
        /// </summary>
        D1000028,

        /// <summary>
        /// D1000029 - DescriptionSettingType_J - Bán chứng khoán lô lẻ {StockCode} khối lượng {Volume} giá {Price}
        /// </summary>
        D1000029,

        /// <summary>
        /// D1000030 - DescriptionSettingType_D - Giảm trừ phí khuyến mại ngày {OrderDate}
        /// </summary>
        D1000030,

        /// <summary>
        /// D1000031 - DescriptionSettingType_D - Chuyển khoản Online cho khách hàng {CustomerNameViet} tại ngân hàng {BankName}
        /// </summary>
        D1000031,

        /// <summary>
        /// D1000032 - DescriptionSettingType_D - Chuyển khoản nội bộ từ tài khoản của khách hàng {FromCustomerId} đến tài khoản {ToCustomerId}
        /// </summary>
        D1000032,

        /// <summary>
        /// D1000033 Thanh toán lãi chậm tiền ngày {OrderDate} số tiền {DeferredBalance} số ngày {NumberOfDays}
        /// Vị trí: ClearingProcessing.cs > PayDeferment()
        /// </summary>
        D1000033,

        /***************************************************/
        /*  Message */

        /// <summary>
        /// M0000001 - DescriptionSettingType_D - Khách hàng {CustomerId} - {CustomerNameViet} trong nhóm khách hàng cần theo dõi. Bạn có muốn tiếp tục?
        /// </summary>
        M0000001,

        //*************************************************/
        /* Mua quyền */
        /// <summary>
        /// D1000010 - DescriptionSettingType_K - {AdvanceActionName} HD {ContractId}, KH {CustomerId} {CustomerNameViet}, ngày HD {ContractDate}, ngày TT {PaymentDate}
        /// Vị trí: Lapas > GiaoDichKhachHangModule > HopDongMuaQuyen > TaskDefine > AdvanceProcessAction.cs
        /// </summary>
        //D1000034,

        /// <summary>
        /// D1000011 - DescriptionSettingType_K - {AdvanceActionName}, (gồm: {AdvanceMoneyTypeInBalance}), ngày thanh toán {PaymentDate}
        /// Vị trí: Lapas > GiaoDichKhachHangModule > HopDongMuaQuyen > TaskDefine > AdvanceProcessAction.cs
        /// </summary>
        //D1000035,
        /// <summary>
        /// D1000036 Thu thuế TNCN từ thực hiện quyền {StockCode} ngày {DateOwnerConfirm}
        /// Vị trí: RightExecAutoPostForm
        /// </summary>
        D1000036,
        /// <summary>
        /// D1000037 Tổng thuế trích nộp từ thực hiện quyền {StockCode} ngày {DateOwnerConfirm}
        /// Vị trí: RightExecAutoPostForm
        /// </summary>
        D1000037,
    }
    #endregion


    /// <summary>
    /// 
    /// </summary>
    public sealed class SbsExceptionConsts
    {
        /// <summary>
        /// 
        /// </summary>
        public const string PropNotFound = "{0} chưa định nghĩa trong đối tượng {1}";
        /// <summary>
        /// 
        /// </summary>
        public const string ObjectNull = "Không tồn tại thông tin {0}";
        /// <summary>
        /// 
        /// </summary>
        public const string PropNull = "Đối tượng {0} chưa có thông tin về {1}";

        /// <summary>
        /// Lỗi thông báo phong tỏa tiền ngân hàng
        /// </summary>
        public const string HoldFail = "Phong tỏa tiền ngân hàng tài khoản {0} không thành công";

        /// <summary>
        /// Lỗi thông báo giải tỏa tiền ngân hàng
        /// </summary>
        public const string UnHoldFail = "Giải tỏa tiền ngân hàng tài khoản {0} không thành công";
        /// <summary>
        /// 
        /// </summary>
        SbsExceptionConsts() { }
    }

    public class EnumName
    {
        public string Code { get; set; }
        public string Description { get; set; }
        public EnumName() { }
        public EnumName(string code, string description)
        {
            Code = code;
            Description = description;
        }
    }
    public class EnumValue
    {
        public int Value { get; set; }
        public string Description { get; set; }
        public EnumValue() { }
        public EnumValue(int value, string description)
        {
            Value = value;
            Description = description;
        }
    }

    public enum PromotionTypeEnum
    {
        /// <summary>
        /// OpenDate = Theo ngày mở tài khoản
        /// </summary>
        OpenDate,
        /// <summary>
        /// BirthDay= Theo ngày sinh nhật khách hàng
        /// </summary>
        BirthDay,
        /// <summary>
        /// TransactionValue= Theo giá trị giao dịch
        /// </summary>
        TransactionValue,
        /// <summary>
        /// CustomerList= Theo danh sách khách hàng cụ thể
        /// </summary>
        CustomerList
    }

    public enum PromotionMethodEnum
    {
        /// <summary>
        /// AmortizationByTotal= Trừ phí theo tổng phí giao dịch trong ngày
        /// </summary>
        AmortizationByTotal,
        /// <summary>
        /// AmortizationByMatchedOrder= Trừ phí đối với mỗi lệnh khớp
        /// </summary>
        AmortizationByMatchedOrder,
        /// <summary>
        /// AmortizationByStockCode= Trừ phí theo tổng phí giao dịch mua bán với từng mã CK
        /// </summary>
        AmortizationByStockCode
    }

    public enum PromotionDepreciationTypeEnum
    {
        /// <summary>
        /// FreeForAll= Miễn phí toàn bộ phí giao dịch trong ngày
        /// </summary>
        FreeForAll,
        /// <summary>
        /// ByRange= Trừ phí tùy theo khoảng giá trị đã được định nghĩa
        /// </summary>
        ByRange

    }

    public enum PromotionStatusEnum
    {
        /// <summary>
        /// Open= Đang kích hoạt
        /// </summary>
        Open,
        /// <summary>
        /// Close= Không kích hoạt
        /// </summary>
        Close,
        /// <summary>
        /// Deleted= Đã xóa
        /// </summary>
        Deleted
    }

    public enum BillStatusEnum
    {
        /// <summary>
        /// N= Chưa duyệt
        /// </summary>
        N,
        /// <summary>
        /// A= Đã duyệt
        /// </summary>
        A,
        /// <summary>
        /// C= Đã hủy
        /// </summary>
        C,
        /// <summary>
        /// X= Đã xóa
        /// </summary>
        X,
        /// <summary>
        /// Đã in
        /// </summary>
        L
    }

    #region Mau in giay linh tien mat
    /// <summary>
    /// Mẫu giấy lĩnh tiền mặt
    /// </summary>
    public enum ReceivedCashTemplateEnum
    {
        /// <summary>
        /// Mẫu giấy lĩnh tền mặt của BIDV
        /// </summary>
        BIDV,

        /// <summary>
        /// Mẫu giấy lĩnh tiền mặt của MHB
        /// </summary>
        MHB,
    }
    #endregion

    #region Mau hop dong mua quyen nhan tien ban
    /// <summary>
    /// Mẫu hợp đồng mua quyền nhận tiền bán
    /// </summary>
    public enum BuyCashTemplateEnum
    {
        /// <summary>
        /// Mẫu hợp đồng mua quyền nhận tiền bán của VSSD
        /// </summary>
        VSSD,

        /// <summary>
        /// Mẫu hợp đồng mua quyền nhận tiền bán của MHBS
        /// </summary>
        MHBS,

        /// <summary>
        /// Mẫu hợp đồng mua quyền nhận tiền bán của MHBS
        /// </summary>
        GPS,
    }
    #endregion

    #region Enum trang thai phieu chuyen tien
    public enum CashTransferStatus
    {
        /// <summary>
        /// Created= Mới được tạo
        /// </summary>
        C = 0,
        /// <summary>
        /// DELETE = Bị hủy bởi người dùng Online
        /// </summary>
        D,
        /// <summary>
        /// Approved = Được duyệt bởi người dùng SBS
        /// </summary>
        A,

        /// <summary>
        /// Đã hạch toán bù trừ
        /// </summary>
        B,

        /// <summary>
        /// X= Bị hủy bởi người dùng SBS
        /// </summary>
        X
    }

    #endregion

    #region Enum using for Trade Permission
    public enum PermissionType
    {
        /// <summary>
        /// UNION: = default + danh sách Customer được hợp.
        /// </summary>
        UNION,
        /// <summary>
        /// EXCLUDE: = default - danh sách Customer bị loại trừ
        /// </summary>
        EXCLUDE
    }

    public enum GroupTradeType
    {
        /// <summary>
        /// Group quản lý tất cả khách hàng trong hệ thống
        /// </summary>
        SUPPER,
        /// <summary>
        /// Group được truy cập đến tất cả các khách hàng tại chi nhánh
        /// </summary>
        BRANCHS,
        /// <summary>
        /// Group được truy cập đến tất cả khách hàng tại điểm giao dịch
        /// </summary>
        TRADECODE,
        /// <summary>
        /// Group thông thường, số lượng khách hàng sẽ được thiết lập.
        /// </summary>
        NORMAL
    }
    #endregion Enum using for Trade Permission

    #region RecursiveSettingEnum
    /// <summary>
    /// Định nghĩa các tên của các tham số trong Recursive Setting
    /// </summary>
    public enum RecursiveSettingParamName
    {
        /// <summary>
        /// Cho phép bật tính năng ghi log hay không?
        /// </summary>
        EnableAudit,
    }
    #endregion

    #region Generate Confirm Code Type
    /// <summary>
    /// Enum định nghĩa cách sinh mã để confirm ở ConfirmForm
    /// </summary>
    public enum GenerateConfirmCodeType
    {
        /// <summary>
        /// Sinh mã theo kiểu Guid
        /// </summary>
        Guid,

        /// <summary>
        /// Sinh mã có 6 kỹ tự ngẫu nhiên bất kỳ
        /// </summary>
        Len6,

        /// <summary>
        /// Sinh mã có 8 ký tự ngẫu nhiên bất kỳ
        /// </summary>
        Len8,
    }
    #endregion

    #region End working day enum
    public enum EndWorkingDayWorkFlowEnum
    {
        /// <summary>
        /// Kiểm tra bút toán nội bảng chưa duyệt
        /// </summary>
        CheckBalanceEntry = 0,

        /// <summary>
        /// Kiểm tra bút toán ngoại bảng chưa duyệt
        /// </summary>
        CheckContigenEntry,

        /// <summary>
        /// Kiểm tra các tài khoản nội bảng chưa cân
        /// </summary>
        CheckBalanceAccount,

        /// <summary>
        /// Kiểm tra các tài khoản ngoại bảng chưa cân
        /// </summary>
        CheckContigenAccount,

        /// <summary>
        /// Kiểm tra cân đối giữa Contigen và Securitites
        /// </summary>
        CheckContigenSecurities,

        /// <summary>
        /// Kiểm tra các giao dịch ngân hàng chưa duyệt
        /// </summary>
        CheckCustomerTransactionDay,

        /// <summary>
        /// Kiểm tra đã hạch toán ngày T chưa?
        /// </summary>
        CheckAutoPostT,

        /// <summary>
        /// Kiểm tra hợp đồng ứng trước chưa được phát vay
        /// </summary>
        CheckAdvanceContractTransfer,

        /// <summary>
        /// Kiểm tra hợp đồng ứng trước chưa được thu nợ
        /// </summary>
        CheckAdvanceContractDebit,

        /// <summary>
        /// Kiểm tra hợp đồng mua quyền chưa được phát vay
        /// </summary>
        CheckBuyCashContractTransfer,

        /// <summary>
        /// Kiểm tra hợp đồng mua quyền chưa được thu nợ
        /// </summary>
        CheckBuyCashContractDebit,

        /// <summary>
        /// Kiểm tra các user đang đăng nhập hệ thống
        /// </summary>
        CheckUserLogin,

        /// <summary>
        /// Kiểm tra trạng thái giao dịch các sàn
        /// </summary>
        CheckOrderSysStat,

        /// <summary>
        /// Kiểm tra tính giá vốn bình quân cho tất cả các khách hàng
        /// </summary>
        CheckDoAvg,



        /******  Các điều kiện không bắt buộc  ******/

        /// <summary>
        /// Kiểm tra các khách hàng chưa được giải tỏa nội bộ
        /// </summary>
        CheckBlockBalance,

        /// <summary>
        /// Kiểm tra các khách hàng chưa được giải tỏa ngân hàng
        /// </summary>
        CheckAvailBalance,

        /// <summary>
        /// Kiểm tra các khách hàng thiếu tiền
        /// </summary>
        CheckCustomerDebitLimit,

        /// <summary>
        /// Kiểm tra các tài khoản nội bảng bù trừ
        /// </summary>
        CheckClearingBalance,

        /// <summary>
        /// Kiểm tra điều kiện chuyển khoản ngân hàng
        /// </summary>
        CheckCashTransfer,

        /// <summary>
        /// Kiểm tra điều kiện chuyển khoản nội bộ
        /// </summary>
        CheckInnerTransfer,
    }
    #endregion

    #region BusinessRole

    /// <summary>
    /// Các role về đặt lệnh
    /// </summary>
    public enum OrderRoleEnum
    {
        /// <summary>
        /// Đặt lệnh 
        /// </summary>
        OrderCreate,

        /// <summary>
        /// Duyệt lệnh 
        /// </summary>
        OrderApprove,

        /// <summary>
        /// Hủy lệnh
        /// </summary>
        OrderCancel,

        /// <summary>
        /// Duyệt yêu cầu hủy lệnh 
        /// </summary>
        OrderCancelApprove,

        /// <summary>
        /// Sửa lệnh
        /// </summary>
        OrderRepair,

        /// <summary>
        /// Duyệt yêu cầu sửa lệnh 
        /// </summary>
        OrderRepairApprove
    }

    /// <summary>
    /// Các role về lệnh thỏa thuận
    /// </summary>
    public enum PTOrderRoleEnum
    {
        /// <summary>
        /// Xác nhận yêu cầu GDTT
        /// </summary>
        ConfirmRequest,

        /// <summary>
        /// Duyệt yêu cầu xác nhận GDTT
        /// </summary>
        ConfirmRequestApprove,

        /// <summary>
        /// Từ chối yêu cầu GDTT
        /// </summary>
        DenyRequest,

        /// <summary>
        /// Duyệt yêu cầu từ chối GDTT
        /// </summary>
        DenyRequestApprove,

        /// <summary>
        /// Hủy yêu cầu GDTT
        /// </summary>
        CancelRequest,

        /// <summary>
        /// Duyệt yêu cầu hủy GDTT
        /// </summary>
        CancelRequestApprove
    }

    /// <summary>
    /// Các role về ứng trước
    /// </summary>
    public enum AdvanceContractRoleEnum
    {
        /// <summary>
        /// Tạo hợp đồng
        /// </summary>
        CreateAdvanceContract,

        /// <summary>
        /// Duyệt hợp đồng
        /// </summary>
        ApproveAdvanceContract,

        /// <summary>
        /// Phát vay ứng trước
        /// </summary>
        TransferAdvanceContract,

        /// <summary>
        /// Duyệt bút toán phát vay ứng trước
        /// </summary>
        ApproveTransferEntryAdvance,

        /// <summary>
        /// Thu nợ ứng trước
        /// </summary>
        CollectDebtAdvance,

        /// <summary>
        /// Duyệt bút toán thu nợ ứng trước
        /// </summary>
        ApproveCollectDebtEntryAdvace
    }

    public enum MortageContractRoleEnum
    {
        /// <summary>
        /// Tạo mới hợp đồng cầm cố
        /// </summary>
        CreateMortageContract,

        /// <summary>
        /// Duyệt hợp đồng cầm cố
        /// </summary>
        ApproveMortageContract,

        /// <summary>
        /// Phát vay cầm cố
        /// </summary>
        TransferMortageContract,

        /// <summary>
        /// Duyệt bút toán ngoại bảng phat vay  cầm cố
        /// </summary>
        ApproveTransferContigenEntryMortage,

        /// <summary>
        /// Duyệt bút toán nội bảng phát vay cầm cố
        /// </summary>
        ApproveTransferBalanceEntryMortage,

        /// <summary>
        /// Thu nợ và lãi cầm cố
        /// </summary>
        CollectDebtAndInterestMortage,

        /// <summary>
        /// Giải tỏa cầm cố
        /// </summary>
        ReleaseStockMortage,

        /// <summary>
        /// Duyệt bút toán ngoại bảng thanh lý hợp đồng cầm cố
        /// </summary>
        ApproveFinishContigenEntryMortage,

        /// <summary>
        /// Duyệt bút toán nội bảng thanh lý hợp đồng cầm cố
        /// </summary>
        ApproveFinishBalanceEntryMortage
    }

    public enum GuarantyContractRoleEnum
    {
        /// <summary>
        /// Tạo mới hợp đồng bảo chứng
        /// </summary>
        CreateGuarantyContract,

        /// <summary>
        /// Duyệthợp đồng bảo chứng
        /// </summary>
        ApproveGuarantyContract,

        /// <summary>
        /// Phát vay hợp đồng bảo chứng
        /// </summary>
        TransferGuarantyContract,

        /// <summary>
        /// Duyệt bút toán phát vay nội bảng Bảo chứng
        /// </summary>
        ApproveTransferBalanceEntryGuaranty,

        /// <summary>
        /// Phong tỏa chứng khoán bảo chứng
        /// </summary>
        BlockStockGuaranty,

        /// <summary>
        /// Duyệt bút toán ngoại bảng phong tỏa CK bảo chứng
        /// </summary>
        ApproveBlockContigenEntryGuaranty,

        /// <summary>
        /// Thu nợ và lãi bảo chứng
        /// </summary>
        CollectDebtAndInterestGuaranty,

        /// <summary>
        /// Giải tỏa CK Bảo chứng
        /// </summary>
        ReleaseStockGuaranty,

        /// <summary>
        /// Duyệt bút toán nội bảng thanh lý hợp đồng bảo chứng
        /// </summary>
        ApproveFinishBalanceEntryGuaranty,

        /// <summary>
        /// Duyệt bút toán ngoại bảng thanh lý hợp đồng bảo chứng
        /// </summary>
        ApproveFinishContigenEntryGuaranty
    }

    #endregion

    #region Mau hop dong ung truoc
    /// <summary>
    /// Mẫu hợp đồng mua quyền nhận tiền bán
    /// </summary>
    public enum AdvanceContractTemplateEnum
    {
        /// <summary>
        /// Mẫu ứng trước của VSSD
        /// </summary>
        VSSD,

        /// <summary>
        /// Mẫu ứng trước của MHBS
        /// </summary>
        MHBS,
    }
    #endregion

    #region Thu lãi và đảo nợ Cầm cố
    /// <summary>
    /// Các loại thu lãi cầm cố
    /// </summary>
    public enum MortageContractInterestType
    {
        /// <summary>
        /// Thu lãi định kỳ (Plan)
        /// </summary>
        P,
        /// <summary>
        /// Thu lãi khi thu nợ (Collect)
        /// </summary>
        C,
        /// <summary>
        /// Thu lãi tự động (Auto)
        /// </summary>
        A,
        /// <summary>
        /// Thu lãi thủ công (Manual)
        /// </summary>
        M,
        /// <summary>
        /// Thu lãi đặc biệt (Special)
        /// Sử dụng trong trường hợp chuyển trạng thái sang đã thanh toán và ko theo dõi lãi của hợp đồng này nữa
        /// </summary>
        S
    }
    /// <summary>
    /// Action 
    /// </summary>
    public enum MortageInterestAction
    {
        /// <summary>
        /// Tính lãi nhưng chưa thu
        /// </summary>
        Calculate,
        /// <summary>
        /// Thu lãi toàn bộ(sau khi đã tính)
        /// </summary>
        Collect,
    }
    #endregion

    public enum CashTransferType
    {
        BANK,
        INNER,
    }

    public enum EnumTermUnit
    {
        /// <summary>
        /// D = Day: tính theo ngày
        /// </summary>
        D = 0,
        /// <summary>
        /// M = Month: tính theo tháng
        /// </summary>
        M,
        /// <summary>
        /// Q = Quater: tính theo quý
        /// </summary>
        Q,
        /// <summary>
        /// Y = Year: tính theo năm
        /// </summary>
        Y,
        /// <summary>
        /// A = All: cả kỳ
        /// </summary>
        A
    }

    public enum SavingLogType
    {
        /// <summary>
        /// H = Phong toa tien 
        /// </summary>
        H = 0,
        /// <summary>
        /// A = Duyet hop dong chua phong toa
        /// </summary>
        A,
        /// <summary>
        /// B = Duyet hop dong da phong toa
        /// </summary>
        B,
        /// <summary>
        /// C = Tinh lai
        /// </summary>
        C,
        /// <summary>
        /// P = Tra lãi
        /// </summary>
        P,
        /// <summary>
        /// E = End: Giải tỏa kết thúc hợp đồng
        /// </summary>
        E,
        /// <summary>
        /// R = Giải tỏa tiền
        /// </summary>
        R,
        /// <summary>
        /// U = Cap nhat hop dong
        /// </summary>
        U

    }
}

